thinkphp5.0 路由传参和路由参数获取

您所在的位置:网站首页 rest client传递文件参数 thinkphp5.0 路由传参和路由参数获取

thinkphp5.0 路由传参和路由参数获取

#thinkphp5.0 路由传参和路由参数获取| 来源: 网络整理| 查看: 265

一、路由定义

在路由配置文件router.php中

use think\Route; // 增删改查路由 Route::rule('login','api/login/getInfo','GET',['https' => false]); // 定义GET请求路由规则 Route::rule('login','api/login/postInfo','POST',['https' => false]); // 定义POST请求路由规则 Route::rule('login','api/login/putInfo','PUT',['https' => false]); // 定义PUT请求路由规则 Route::rule('login','api/login/deleteInfo','DELETE',['https' => false]); // 定义DELETE请求路由规则 //Route::rule('login','api/login/Info','GET|POST',['https' => false]); // 定义GET和POST请求路由规则 //Route::rule('login','api/login/allInfo','*',['https' => false]); // 所有请求都支持的路由规则 // 增删改查路由 - 简化 Route::get('login','api/login/getInfo',['https' => false]); // 定义GET请求路由规则 Route::post('login/:id','api/login/postInfo',['https' => false]); // 定义POST请求路由规则 Route::put('login','api/login/putInfo',['https' => false]); // 定义PUT请求路由规则 Route::delete('login','api/login/deleteInfo',['https' => false]); // 定义DELETE请求路由规则 //Route::any('login','api/login/allInfo',['https' => false]); // 所有请求都支持的路由规则 二、路由参数传递的三种方式(以post请求为例) 1. 在URL后通过 /value 的方式传递参数 在路由配置文件router.php中定义参数名 Route::post('login/:id1/:id2','api/login/postInfo',['https' => false]); 前端在URL中拼接参数 http://abc.com/login/100/200 2. 在URL后通过 ?key=value 的方式传递参数 在路由配置文件router.php中 Route::post('login','api/login/postInfo',['https' => false]); 前端在URL中拼接参数 http://abc.com/login?id1=100&id2=200 3. 通过post的方式传递参数 在路由配置文件router.php中 Route::post('login','api/login/postInfo',['https' => false]); 前端以post的方式传递参数 http://abc.com/login // 参数 { "id1":100, "id2":200 } 二、路由参数获取的三种方式 1. 在方法中以参数名为方法参数,可获取get和post类型的参数

在Login.php控制器中

namespace app\api\controller; class Login { public function postInfo($id1,$id2){ echo $id1; echo $id2; echo 'post info'; } } 2. 在方法中通过Request类获取参数,可获取get和post类型的参数

在Login.php控制器中

namespace app\api\controller; use think\Request; class Login { public function postInfo(){ $id1 = Request::instance()->param('id1'); // 可获取get和post类型参数 $id2 = Request::instance()->param('id2'); // 可获取get和post类型参数 $id1_post = Request::instance()->post('id1'); // 只获取post类型参数 $id1_get = Request::instance()->get('id1'); // 只获取get类型参数 $param_array = Request::instance()->param(); // 以数组的方式获取get和post类型的所有参数 $param_array_get = Request::instance()->get(); // 以数组的方式获取get类型的所有参数 $param_array_post = Request::instance()->post(); // 以数组的方式获取post类型的所有参数 echo $id1; echo $id2; echo $id1_post; echo $id1_get; print_r($param_array); print_r($param_array_get); print_r($param_array_post); echo 'post info'; } }

或者用依赖注入的方式

namespace app\api\controller; use think\Request; class Login { public function postInfo(Request $request){ $id1 = $request->param('id1'); // 可获取get和post类型参数 $id2 = $request->param('id2'); // 可获取get和post类型参数 $id1_post = $request->post('id1'); // 只获取post类型参数 $id1_get = $request->get('id1'); // 只获取get类型参数 $param_array = $request->param(); // 以数组的方式获取get和post类型的所有参数 $param_array_get = $request->get(); // 以数组的方式获取get类型的所有参数 $param_array_post = $request->post(); // 以数组的方式获取post类型的所有参数 echo $id1; echo $id2; echo $id1_post; echo $id1_get; print_r($param_array); print_r($param_array_get); print_r($param_array_post); echo 'post info'; } } 3. 在方法中通过助手函数获取参数,可获取get和post类型的参数

在Login.php控制器中

namespace app\api\controller; class Login { public function postInfo(){ $id1 = input('param.id1'); // 可获取get和post类型参数 $id2 = input('param.id2'); // 可获取get和post类型参数 $id1_post = input('post.id1'); // 只获取post类型参数 $id1_get = input('get.id1'); // 只获取get类型参数 $param_array = input('param.'); // 以数组的方式获取get和post类型的所有参数 $param_array_get = input('get.'); // 以数组的方式获取get类型的所有参数 $param_array_post = input('post.');; // 以数组的方式获取post类型的所有参数 echo $id1; echo $id2; echo $id1_post; echo $id1_get; print_r($param_array); print_r($param_array_get); print_r($param_array_post); echo 'post info'; } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3